package com.yoj.questionservice.rabbitmq;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * 消息队列生产者
 */
@Slf4j
@Component
public class RabbitMqSender {

    @Resource
    private RabbitTemplate rabbitTemplate;

    /**
     * 发送消息
     * @param exchange   交换机，用于消息的路由，决定消息发送到哪个队列
     * @param routingKey 路由键，配合交换机使用，确定消息的具体去向
     * @param message    消息内容，发送的真正数据
     */
    public void sendMessage(String exchange, String routingKey, String message) {
        rabbitTemplate.convertAndSend(exchange, routingKey, message);
        log.info("消息发送至消息队列: {}", message);
    }

}
